There are many approaches for recovering information from a data signal. For binary or two level signals it is possible to continuously correct the synchronization for the received data. This is traditionally accomplished by sampling at a rate that is higher than the data rate. The multiple samples per bit of information can be processed and the bits defined. Such approach requires both multiple samples for each bit of information and substantial computational power which can be a disadvantage when used in an application such as portable or mobile radios. Such devices may have limited computational power available, as well as limited battery life for portable devices. Additionally, such approaches are not well suited where the information signal can include a high number of possible levels. For instance, a signal that could include data as binary data and analog or multiple level data such as 256 level encoded compressed voice information, presents difficulties in utilizing the traditional approach. It is therefore desirable to have a synchronization and decoding method that can precisely lock to a symbol so that a sample can be obtained at the center of each information symbol without sacrificing efficiency. By sampling at the symbol center, a single sample per symbol can be utilized for decoding.